package com.xunk.scene.mapper;

import com.xunk.scene.domain.SceneResultAction;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ProjectName: HIM
 * @Package: com.xunk.scene.mapper
 * @ClassName: ActionResultMapper
 * @Author: luanzhiwei
 * @Description: 执行动作结果表映射接口
 * @Date: 2021/5/6 10:38
 * @Version: 1.0
 */
public interface SceneResultActionMapper {
    /**
     * 查询执行动作结果
     *
     * @param id 执行动作结果ID
     * @return 执行动作结果
     */
    SceneResultAction selectActionResultById(Long id);

    /**
     * 查询执行动作结果列表
     *
     * @param sceneResultAction 执行动作结果
     * @return 执行动作结果集合
     */
    List<SceneResultAction> selectActionResultList(SceneResultAction sceneResultAction);

    /**
     * 新增执行动作结果
     *
     * @param sceneResultAction 执行动作结果
     * @return 结果
     */
    int insertActionResult(SceneResultAction sceneResultAction);

    /**
     * 修改执行动作结果
     *
     * @param sceneResultAction 执行动作结果
     * @return 结果
     */
    int updateActionResult(SceneResultAction sceneResultAction);

    /**
     * 根据deviceSn更新执行结果和当前值
     *
     * @return
     */
    int updateByDeviceSn(SceneResultAction sceneResultAction);

    /**
     * 删除执行动作结果
     *
     * @param id 执行动作结果ID
     * @return 结果
     */
    int deleteActionResultById(Long id);

    /**
     * 根据 sceneResultId 删除数据
     *
     * @param sceneResultId
     * @return
     */
    int deleteBySceneResultId(@Param("sceneResultId") Long sceneResultId);

    /**
     * 批量删除执行动作结果
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteActionResultByIds(Long[] ids);
}
